package Traitement;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import test_porte_variable.Machine;

/*
 * To change this template, choose Tools | Templates and open the template in
 * the editor.
 */
/**
 * Formate la phrase ISO avant de l'écrire
 *
 * @author phoebus
 */
public class Formate {
static Date maDateAvecFormat=new Date();
static Calendar cal1 = new GregorianCalendar();
    /**
     * Converti les instructions pivot en instruction ISO
     * Iso doit être appelée aprés Extraire
     * @param phrase phrase PIVOT
     */
    public static void iso(String[] phrase) {
        //String[] reponse = new String[16];
        int i = 0;
        
        
        while (i<phrase.length) {
            switch (phrase[i].toUpperCase()) {
                
                
                case "GOTO":
                    
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.interpol.affiche();
                    
                    
                    break;
                
                case "X":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.x.affiche();
                    break;
                case "Y":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.y.affiche();
                    break;
                case "Z":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.z.affiche();
                    break;
                case "I":
                    
                    break;
                case "J":
                    
                    break;
                case "K":
                    
                    break;
                    case "F":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.f.affiche();
                    break;
                    case "UNITE_AVANCE":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.unite_avance.affiche();
                    break;
                case "LOAD_TOOL":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.iso_changemet_outil.affiche();
                    break;
                case "T":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.nooutil.affiche();
                    break;
                case "D":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.correcteur.affiche();
                    break;
                case "DIRECTION":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.sens_rotation.affiche();
                    break;
                case "SPINDL":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.frequence_rotation.affiche();
                    break;
                case "RANGE":
                    
                    break;
                case "COR":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.gestion_correcteur.affiche();
                    break;
                case "NOL_OFF":
                    Machine.numerotation.setNumerote(false);
                    break;
                case "PARTNO":
                    Machine.numero_ligne.setAEcrire(false);
                    Machine.phrase_iso += Machine.nop.affiche();
                    break;
                case "LS":
                    Machine.phrase_iso += "\r\n";
                    break;
                case "MACHINE_DESCRIPTION":
                    
                    break;
                case "COMMENT":
                    Machine.phrase_iso +=Machine.separateur_instruction +Machine.comment.affiche();
                    break;
                case "COOLNT":
                    Machine.phrase_iso +=Machine.separateur_instruction +Machine.lalub.affiche();
                    break;
                case "SPACE":
                    Machine.phrase_iso += " ";
                    break;
                case "LADATE":
                    SimpleDateFormat dateStandard = new SimpleDateFormat("dd/MM/yyyy");
                    Machine.phrase_iso += Machine.comment.getCaractere_debut() +(dateStandard.format(maDateAvecFormat))+ Machine.comment.getCaractere_fin();
                    break;
                case "LETIME":
                    String heure = String.valueOf(cal1.get(Calendar.HOUR_OF_DAY));
                    String minute = String.valueOf(cal1.get(Calendar.MINUTE));
                    String seconde = String.valueOf(cal1.get(Calendar.SECOND));
                    Machine.phrase_iso += Machine.comment.getCaractere_debut() + heure + ":" + minute + ":" + seconde + Machine.comment.getCaractere_fin();
                    break;
                case "MACHINE_NAME":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.comment.getCaractere_debut() +Machine.Nom_machine+ Machine.comment.getCaractere_fin();
                    break;
                case "END":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.fin_prog.affiche();
                    break;
                case "STOP":
                    Machine.phrase_iso += Machine.separateur_instruction +Machine.stop_prog.affiche();
                    break;
                case "CYCLE":
                    
                    break;
                default:
                    Machine.phrase_iso += Machine.separateur_instruction +phrase[i];
                    break;
            }
            
            i++;
        }
    }
}
